package dataClean;

import java.io.File;
import java.util.HashSet;
import java.util.Objects;
import java.util.Set;
//使用基本方法列出目录下的所有文件

/**
 * @author Smartloe
 * @create 2021-05-13 19:13
 */
public class FilesRead {
    public static void main(String[] args) {
        // 1.使用java从分层目录中提取所有文件名
        Set<File> files = FilesRead.listFiles(new File("I:\\网络安全法条例"));
        for (File file : files) {
            System.out.println(file.getPath());
        }
    }

    // 1. 从分层目录中提取所有文件名(注意不包含文件夹)
    public static Set<File> listFiles(File rootDir) {
        Set<File> fileSet = new HashSet<File>();
        // when file is null or file is not a directory.
        if (rootDir == null || rootDir.listFiles() == null) {
            return fileSet;
        }
        for (File file : Objects.requireNonNull(rootDir.listFiles())) {
            if (file.isFile()) {
                fileSet.add(file);
            } else {
                fileSet.addAll(listFiles(file));
            }
        }
        return fileSet;
    }
}

